//
// Created by IL-CH on 2024/6/4.
//
/**
输入一个奇数n，输出一个由‘*’构成的n阶空心菱形。

输入格式:
一个奇数n。

输出格式:
输出一个由‘*’构成的n阶实心菱形。

具体格式参照输出样例。

输入样例:
5
输出样例:
  *
 * *
*   *
 * *
  *
*/
#include <stdio.h>

int main()
{
    int input_num;

    scanf("%d", &input_num);

    if (input_num == 1)
    {
        printf("*");
        return 0;
    }

    // 第一行
    for (int i = 1; i <= input_num / 2; ++i)
        printf(" ");
    printf("*");
    for (int i = 1; i <= input_num / 2; ++i)
        printf(" ");
    printf("\n");

    // 中间上部分
    for (int i = 1; i < input_num / 2; ++i)
    {
        for (int j = 1; j <= input_num / 2 - i; ++j)
            printf(" ");
        printf("*");
        for (int j = 1; j <= 2 * i - 1; ++j)
            printf(" ");
        printf("*");
        for (int j = 1; j <= input_num / 2 - i; ++j)
            printf(" ");
        printf("\n");
    }

    // 正中间
    printf("*");
    for (int i = 1; i <= input_num - 2; ++i)
        printf(" ");
    printf("*\n");

    // 中间下部分
    for (int i = (input_num - 3) / 2; i > 0; --i)
    {
        for (int j = 1; j <= input_num / 2 - i; ++j)
            printf(" ");
        printf("*");
        for (int j = 1; j <= 2 * i - 1; ++j)
            printf(" ");
        printf("*");
        for (int j = 1; j <= input_num / 2 - i; ++j)
            printf(" ");
        printf("\n");
    }

    // 最后一行
    for (int i = 1; i <= input_num / 2; ++i)
        printf(" ");
    printf("*");
    for (int i = 1; i <= input_num / 2; ++i)
        printf(" ");
    printf("\n");

    return 0;
}